package main

import (
	"errors"
	"fmt"
	"strconv"
)

//error接口
//type error interface {
//	Error() string
//}

// 自定义函数返回错误信息
func add(a, b int) (int, error) {
	if a < 0 || b < 0 {
		return 0, errors.New("a或者b不能为负数")
	} else {
		return a + b, nil
	}
}

func main() {
	//error接口
	i, err := strconv.Atoi("a")
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println(i)
	}

	//error工厂函数
	sum, err := add(-1, 2)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println(sum)
	}
}
